<template>
  <a-card :bordered="false">
    <!-- 查询区域 -->
    <div class="table-page-search-wrapper">
      <a-form layout="inline" @keyup.enter.native="searchQuery">
        <a-row :gutter="24">
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="工资期间(月)">
              <a-month-picker placeholder="请选择工资期间(月)" style="width: 100%" :allowClear="false" v-model="salaryPeriod" @change="onDateChange"/>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="社保单位">
              <!-- 这里的list接口查询是查询在职员工档案中的已维护岗位的公司 -->
              <select-Company-input placeholder="请选择社保单位" urlList="/api/erp/files/employee/erpEmployeePostChangeRecord/queryCompanyByPost" v-model="queryParam.insuranceUnit"/>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="所属公司">
              <j-input placeholder="请输入所属公司" v-model="queryParam.companyName"></j-input>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="所属团队">
              <j-input placeholder="请输入所属团队" v-model="queryParam.teamName"></j-input>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="姓名">
              <j-input placeholder="请输入姓名" v-model="queryParam.empName"></j-input>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="匹配状态">
              <j-dict-select-tag type="list" v-model="queryParam.matchStatus" dictCode="hr_salary_is_mate" placeholder="请选择匹配状态"/>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="通知状态">
              <j-dict-select-tag type="list" v-model="queryParam.noticeStatus" dictCode="hr_salary_is_distribute" placeholder="请选择通知状态"/>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
              <a-button type="primary" @click="searchReset()" icon="reload" style="margin-left: 8px">重置</a-button>
            </span>
          </a-col>
        </a-row>
      </a-form>
    </div>
    <!-- 查询区域-END -->

    <!-- 操作按钮区域 -->
    <div class="table-operator">
      <a-button type="primary" icon="download" @click="handleExportModal()" :disabled="isDisabledAuth('erpSalaryAccountingRecord:export')">导出</a-button>
      <a-button type="primary" icon="import" @click="handleImportModal()" :disabled="isDisabledAuth('erpSalaryAccountingRecord:import')">导入核算表</a-button>
      <!-- <a-popconfirm :title="selectedRowKeys.length > 0 ? '确定通知这' + selectedRowKeys.length + '位员工吗?未匹配的员工无法通知到' : '确定通知所有员工吗？未匹配或已通知的员工无法通知成功'" v-if="dataSource.length > 0" @confirm="() => handleNotice()">
        <a-button type="primary" icon="notification" :disabled="isDisabledAuth('erpHrSalaryPayslipRecord:notification')">工资条通知</a-button>
      </a-popconfirm> -->
      <a-popover title="自定义列" trigger="click" placement="leftBottom">
        <template slot="content">
          <a-checkbox-group @change="onColSettingsChange" v-model="settingColumns" :defaultValue="settingColumns">
            <a-row>
              <template v-for="(item,index) in defColumns">
                <template v-if="item.key!='rowIndex'&& item.dataIndex!='action'">
                  <a-col :span="12" :key="index"><a-checkbox :value="item.dataIndex">{{ item.title }}</a-checkbox></a-col>
                </template>
              </template>
            </a-row>
          </a-checkbox-group>
        </template>
        <a style="float: right;"><a-icon type="setting" :style="iconStyle"/></a>
      </a-popover>
    </div>

    <!-- table区域-begin -->
    <div>
      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
      </div>

      <a-table
        ref="table"
        size="middle"
        :scroll="{ x: scrollX }"
        bordered
        rowKey="id"
        :components="draggableComponent"
        :columns="columns"
        :dataSource="dataSource"
        :pagination="ipagination"
        :loading="loading"
        class="j-table-force-nowrap"
        :customRow="customRow"
        :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
        @change="handleTableChange">
        <template slot="status" slot-scope="status">
          <a-badge :status="status | statusTypeFilter" :text="status | statusFilter"/>
        </template>
        <template slot="htmlSlot" slot-scope="text">
          <div v-html="text"></div>
        </template>
        <template slot="imgSlot" slot-scope="text">
          <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
          <img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
        </template>
        <template slot="fileSlot" slot-scope="text">
          <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
          <a-button
            v-else
            :ghost="true"
            type="primary"
            icon="download"
            size="small"
            @click="downloadFile(text)">
            下载
          </a-button>
        </template>

        <span slot="action" slot-scope="text, record">
          <a-button
            class="ruleButton"
            :ghost="true"
            type="primary"
            icon="edit"
            @click="handleEdit(record)"
            :disabled="isDisabledAuth('erpSalaryAccountingRecord:edit')"
          />
          <a-divider type="vertical"/>
          <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
            <a-button
              class="ruleButton"
              :ghost="true"
              type="primary"
              icon="delete"
              :disabled="isDisabledAuth('erpSalaryAccountingRecord:delete')"/>
          </a-popconfirm>
        </span>

      </a-table>
    </div>
    <!-- <erp-salary-accounting-record-modal ref="modalForm" @ok="modalFormOk"></erp-salary-accounting-record-modal> -->
    <!-- 导出弹窗 -->
    <ErpSalaryAccountingRecordExportModal ref="exportModal"></ErpSalaryAccountingRecordExportModal>
    <!-- 导入弹窗 -->
    <ErpSalaryAccountingRecordImportModal ref="importModal"></ErpSalaryAccountingRecordImportModal>
  </a-card>
</template>

<script>

  import '@/assets/less/TableExpand.less'
  import { mixinDevice } from '@/utils/mixin'
  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
  // import ErpSalaryAccountingRecordModal from './modules/ErpSalaryAccountingRecordModal'
  import ErpSalaryAccountingRecordExportModal from './modules/ErpSalaryAccountingRecordExportModal' // 导出弹窗
  import ErpSalaryAccountingRecordImportModal from './modules/ErpSalaryAccountingRecordImportModal' // 导入弹窗
  import { getAction, postAction } from '@/api/manage'
  import { DisabledAuthFilterMixin } from '@/mixins/DisabledAuthFilterMixin'
  import moment from 'moment'
  import SelectCompanyInput from '@/views/scy/components/SelectCompanyInput' // 公司
  export default {
    name: 'ErpSalaryAccountingRecordList',
    mixins: [JeecgListMixin, mixinDevice, DisabledAuthFilterMixin],
    components: {
      // ErpSalaryAccountingRecordModal,
      SelectCompanyInput,
      ErpSalaryAccountingRecordExportModal,
      ErpSalaryAccountingRecordImportModal
    },
    data () {
      return {
        description: '薪资核算表',
        salaryPeriod: moment().subtract(1, 'month'),
        queryParam: {
          salaryPeriod: moment().subtract(1, 'month').format('YYYY-MM')
        },
        isorter: {
          column: '',
          order: ''
        },
        // 表头
        columns: [],
        defColumns: [],
        // 列设置
        settingColumns: [],
        url: {
          list: '/api/erp/salacct/erpSalaryAccountingRecord/list',
          delete: '/api/erp/salacct/erpSalaryAccountingRecord/delete',
          deleteBatch: '/api/erp/salacct/erpSalaryAccountingRecord/deleteBatch',
          exportXlsUrl: '/api/erp/salacct/erpSalaryAccountingRecord/exportXls',
          importExcelUrl: '/api/erp/salacct/erpSalaryAccountingRecord/importExcel',
          notice: '/api/erp/salacct/erpSalaryAccountingRecord/notice'
        },
        dictOptions: {},
        superFieldList: []
      }
    },
    created() {
      this.getSuperFieldList();
      this.initDefColumns()
    },
    computed: {
      importExcelUrl: function() {
        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
      }
    },
    methods: {
      initDictConfig() {
      },
      initDefColumns() {
        this.defColumns = [
          {
            title: '序号',
            dataIndex: '',
            key: 'rowIndex',
            width: 60,
            align: 'center',
            fixed: 'left',
            ellipsis: true,
            customRender: function (t, r, index) {
              return parseInt(index) + 1;
            }
          },
          {
            title: '工资期间',
            align: 'center',
            width: 100,
            ellipsis: true,
            fixed: 'left',
            dataIndex: 'salaryPeriod',
            customRender: function (text) {
              return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text)
            }
          },
          {
            title: '工号',
            align: 'center',
            width: 100,
            fixed: 'left',
            ellipsis: true,
            dataIndex: 'empNo'
          },
          {
            title: '姓名',
            align: 'center',
            width: 80,
            fixed: 'left',
            ellipsis: true,
            dataIndex: 'empName'
          },
          {
            title: '人员状态',
            align: 'center',
            width: 80,
            ellipsis: true,
            fixed: 'left',
            dataIndex: 'empStatus_dictText',
            customRender: function (text, record) {
              return text || record.empStatus
            }
          },
          {
            title: '身份证号码',
            align: 'center',
            fixed: 'left',
            width: 160,
            ellipsis: true,
            dataIndex: 'idNo'
          },
          {
            title: '所属公司',
            align: 'center',
            width: 160,
            ellipsis: true,
            dataIndex: 'companyName'
          },
          {
            title: '社保单位',
            align: 'center',
            width: 200,
            ellipsis: true,
            dataIndex: 'insuranceUnit_dictText',
            customRender: function (text, record) {
              return text || record.insuranceUnit
            }
          },
          {
            title: '所属团队',
            align: 'center',
            width: 160,
            ellipsis: true,
            dataIndex: 'teamName_dictText',
            customRender: function (text, record) {
              return text || record.teamName
            }
          },
          {
            title: '所属团队部门',
            align: 'center',
            width: 160,
            ellipsis: true,
            dataIndex: 'teamDept_dictText',
            customRender: function (text, record) {
              return text || record.teamDept
            }
          },
          {
            title: '所属团队岗位名称',
            align: 'center',
            width: 160,
            ellipsis: true,
            dataIndex: 'teamPost_dictText',
            customRender: function (text, record) {
              return text || record.teamPost
            }
          },
          {
            title: '岗位属性',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'postCate_dictText',
            customRender: function (text, record) {
              return text || record.postCate
            }
          },
          {
            title: '职级',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'postRank_dictText',
            customRender: function (text, record) {
              return text || record.postRank
            }
          },
          {
            title: '入职时间',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'entryTime'
          },
          {
            title: '转正时间',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'positiveTime'
          },
          {
            title: '最后工作日',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'lastWorkTime'
          },
          {
            title: '薪级',
            align: 'center',
            width: 80,
            ellipsis: true,
            dataIndex: 'salaryGrade_dictText',
            customRender: function (text, record) {
              return text || record.salaryGrade
            }
          },
          {
            title: '岗位工资',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'postWage'
          },
          {
            title: '加1项',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'addOneItem'
          },
          {
            title: '预发绩效',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'pfmRep'
          },
          {
            title: '预发绩效补发',
            align: 'center',
            width: 110,
            ellipsis: true,
            dataIndex: 'payRtract'
          },
          {
            title: '工龄工资',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'seniorityAlw'
          },
          {
            title: '执业金',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'practiceFee'
          },
          {
            title: '报告审核费',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'reptAuditFee'
          },
          // {
          //   title: '项目绩效',
          //   align: 'center',
          //   width: 100,
          //   ellipsis: true,
          //   dataIndex: 'prjPfm'
          // },
          {
            title: '经营绩效',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'manPfm'
          },
          {
            title: '生产绩效',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'prdPfm'
          },
          {
            title: '效能工资',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'effectAlw'
          },
          {
            title: '餐补',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'mealAlw'
          },
          {
            title: '住房补贴',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'housingAlw'
          },
          {
            title: '通讯补贴',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'phoneAlw'
          },
          {
            title: '外派补贴',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'assignAlw'
          },
          {
            title: '专项支持费',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'spcSuptFee'
          },
          {
            title: '公里数提现',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'fuelAlw'
          },
          {
            title: '应收账款奖励',
            align: 'center',
            width: 110,
            ellipsis: true,
            dataIndex: 'actsRecevBonus'
          },
          {
            title: '宣传奖励',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'advtsmBonus'
          },
          {
            title: '其他奖励',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'otherBonus'
          },
          {
            title: '前期已结算',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'preSettledBonus'
          },
          {
            title: '加班工资',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'overttimePay'
          },
          {
            title: '其他加项',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'otherAddPay'
          },
          {
            title: '试用期天数',
            align: 'center',
            width: 120,
            ellipsis: true,
            dataIndex: 'prbtPayGradeDays'
          },
          {
            title: '试用期薪级工资扣款',
            align: 'center',
            width: 150,
            ellipsis: true,
            dataIndex: 'prbtPayGradeDedution'
          },
          {
            title: '入离职缺勤天数',
            align: 'center',
            width: 120,
            ellipsis: true,
            dataIndex: 'inAbsenceDays'
          },
          {
            title: '入离职缺勤扣款',
            align: 'center',
            width: 120,
            ellipsis: true,
            dataIndex: 'inAbsenceDedution'
          },
          {
            title: '事假天数',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'plDays'
          },
          {
            title: '事假扣款',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'plDedution'
          },
          {
            title: '病假天数',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'slDays'
          },
          {
            title: '病假扣款',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'slDedution'
          },
          {
            title: '产假天数',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'mlLeave'
          },
          {
            title: '产假扣款',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'mlDedution'
          },
          {
            title: '迟到早退次数',
            align: 'center',
            width: 110,
            ellipsis: true,
            dataIndex: 'wlLeNums'
          },
          {
            title: '迟到早退扣款',
            align: 'center',
            width: 110,
            ellipsis: true,
            dataIndex: 'wlLeDedution'
          },
          {
            title: '缺卡次数',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'absDutyNums'
          },
          {
            title: '缺卡扣款',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'absDutyDedution'
          },
          {
            title: '旷工天数',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'nglekWorkDays'
          },
          {
            title: '旷工扣款',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'nglekWorkDedution'
          },
          {
            title: '应收账款扣款',
            align: 'center',
            width: 110,
            ellipsis: true,
            dataIndex: 'actsRecevDedution'
          },
          {
            title: '其他扣款',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'otherDedution'
          },
          {
            title: '应发工资',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'wagesPayable'
          },
          {
            // title: moment(this.queryParam.salaryPeriod).format('YYYY') + '年累计收入',
            title: '本年度累计收入',
            align: 'center',
            width: 130,
            ellipsis: true,
            dataIndex: 'yearlyIncome'
          },
          {
            title: '下月个人社保',
            align: 'center',
            width: 110,
            ellipsis: true,
            dataIndex: 'socialInsuranceNxt'
          },
          {
            title: '当月个人公积金',
            align: 'center',
            width: 120,
            ellipsis: true,
            dataIndex: 'providentFoudCurt'
          },
          {
            // title: moment(this.queryParam.salaryPeriod).format('YYYY') + '年五险一金累计扣款',
            title: '本年度五险一金累计扣款',
            align: 'center',
            width: 180,
            ellipsis: true,
            dataIndex: 'insHsnAccuDedution'
          },
          {
            // title: moment(this.queryParam.salaryPeriod).format('YYYY') + '年累计个税专项附加扣除金额',
            title: '本年度累计个税专项附加扣除金额',
            align: 'center',
            width: 240,
            ellipsis: true,
            dataIndex: 'speExpAccuDedution'
          },
          {
            // title: moment(this.queryParam.salaryPeriod).format('YYYY') + '年应预缴个人所得税',
            title: '本年度应预缴个人所得税',
            align: 'center',
            width: 180,
            ellipsis: true,
            dataIndex: 'indivTaxAccuPre'
          },
          {
            // title: moment(this.queryParam.salaryPeriod).format('YYYY') + '年已预缴个人所得税金额',
            title: '本年度已预缴个人所得税金额',
            align: 'center',
            width: 210,
            ellipsis: true,
            dataIndex: 'indivTaxAccuAlrd'
          },
          {
            title: '本期应预缴个人所得税',
            align: 'center',
            width: 160,
            ellipsis: true,
            dataIndex: 'currIndivTax'
          },
          {
            title: '前期已发放',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'earlyAlrdPaid'
          },
          {
            title: '实发工资',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'actlWagesPay'
          },
          {
            title: '银行开户行',
            align: 'center',
            width: 280,
            ellipsis: true,
            dataIndex: 'openBankName'
          },
          {
            title: '工资卡',
            align: 'center',
            width: 140,
            ellipsis: true,
            dataIndex: 'salaryBankNo'
          },
          {
            title: '手机号码',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'phoneNo'
          },
          {
            title: '联行号',
            align: 'center',
            width: 120,
            ellipsis: true,
            dataIndex: 'unionBankNo'
          },
          {
            title: '匹配状态',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'matchStatus_dictText'
          },
          {
            title: '通知状态',
            align: 'center',
            width: 100,
            ellipsis: true,
            dataIndex: 'noticeStatus_dictText'
          }
        ]
        this.initColumns()
      },
      // 选择工资期间
      onDateChange(date, dateString) {
        this.$set(this.queryParam, 'salaryPeriod', dateString)
      },
      // 点击查询
      searchQuery() {
        this.onClearSelected();
        // this.initDefColumns()
        this.loadData(1)
      },
      // 点击重置
      searchReset() {
        this.onClearSelected();
        this.salaryPeriod = moment().subtract(1, 'month')
        this.queryParam = {
          salaryPeriod: moment().subtract(1, 'month').format('YYYY-MM')
        }
        // this.initDefColumns()
        this.loadData(1)
      },
      // 点击导出
      handleExportModal () {
        this.$refs.exportModal.showModal()
      },
      // 点击导入
      handleImportModal () {
        this.$refs.importModal.showModal()
      },
      handleNotice() {
      let param = this.getQueryParams()
      if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
        param['selections'] = this.selectedRowKeys.join(',')
      }
      getAction(this.url.notice, param).then((res) => {
        if (res.success) {
          this.$message.success(res.message);
          this.loadData(1);
          this.selectedRowKeys = []
        } else {
          this.$message.warning(res.message);
        }
      })
    },
      getSuperFieldList() {
        let fieldList = [];
        fieldList.push({ type: 'string', value: 'handlerId', text: '经办人编号', dictCode: '' })
        fieldList.push({ type: 'string', value: 'handlerDeptId', text: '经办人部门ID', dictCode: '' })
        fieldList.push({ type: 'string', value: 'handlerDeptCode', text: '经办人部门编码', dictCode: '' })
        fieldList.push({ type: 'string', value: 'delFlag', text: '是否已删除', dictCode: '' })
        fieldList.push({ type: 'string', value: 'insuranceUnit', text: '所属公司id', dictCode: '' })
        fieldList.push({ type: 'string', value: 'empId', text: '员工id', dictCode: '' })
        fieldList.push({ type: 'date', value: 'salaryPeriod', text: '工资期间' })
        fieldList.push({ type: 'BigDecimal', value: 'addOneItem', text: '加1项', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'pfmRep', text: '预发绩效', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'payRtract', text: '预发绩效补发', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'seniorityAlw', text: '工龄工资', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'practiceFee', text: '执业金', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'reptAuditFee', text: '报告审核费', dictCode: '' })
        // fieldList.push({ type: 'BigDecimal', value: 'prjPfm', text: '项目绩效', dictCode: '' })
        fieldList.push({type:'string',value:'manPfm',text:'经营绩效',dictCode:''})
        fieldList.push({type:'string',value:'prdPfm',text:'生产绩效',dictCode:''})
        fieldList.push({ type: 'BigDecimal', value: 'effectAlw', text: '效能工资', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'mealAlw', text: '餐补', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'housingAlw', text: '住房补贴', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'phoneAlw', text: '通讯补贴', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'assignAlw', text: '外派补贴', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'spcSuptFee', text: '专项支持费', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'fuelAlw', text: '公里数提现', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'actsRecevBonus', text: '应收账款奖励', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'advtsmBonus', text: '宣传奖励', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'otherBonus', text: '其他奖励', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'preSettledBonus', text: '前期已结算', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'overttimePay', text: '加班工资', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'otherAddPay', text: '其他加项', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'prbtPayGradeDedution', text: '试用期薪级工资扣款', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'inAbsenceDays', text: '入离职缺勤天数', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'inAbsenceDedution', text: '入离职缺勤扣款', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'plDays', text: '事假天数', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'plDedution', text: '事假扣款', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'slDays', text: '病假天数', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'slDedution', text: '病假扣款', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'mlLeave', text: '产假天数', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'mlDedution', text: '产假扣款', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'wlLeNums', text: '迟到早退次数', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'wlLeDedution', text: '迟到早退扣款', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'absDutyNums', text: '缺卡次数', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'absDutyDedution', text: '缺卡扣款', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'nglekWorkDays', text: '旷工天数', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'nglekWorkDedution', text: '旷工扣款', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'actsRecevDedution', text: '应收账款扣款', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'otherDedution', text: '其他扣款', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'wagesPayable', text: '应发工资', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'yearlyIncome', text: '年累计收入', dictCode: '' })
        fieldList.push({ type: 'int', value: 'belongYear', text: '所属年份', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'socialInsuranceNxt', text: '下月个人社保', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'providentFoudCurt', text: '当月个人公积金', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'insHsnAccuDedution', text: '五险一金累计扣款', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'speExpAccuDedution', text: '年累计个税专项附加扣除金额', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'indivTaxAccuPre', text: '年应预缴个人所得税', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'indivTaxAccuAlrd', text: '年已预缴个人所得税金额', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'currIndivTax', text: '本期应预缴个人所得税', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'earlyAlrdPaid', text: '前期已发放', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'actlWagesPay', text: '实发工资', dictCode: '' })
        fieldList.push({ type: 'string', value: 'matchStatus', text: '匹配状态', dictCode: '' })
        fieldList.push({ type: 'string', value: 'noticeStatus', text: '通知状态', dictCode: '' })
        fieldList.push({ type: 'string', value: 'empName', text: '员工姓名', dictCode: '' })
        fieldList.push({ type: 'string', value: 'empNo', text: '工号', dictCode: '' })
        fieldList.push({ type: 'string', value: 'empStatus', text: '人员状态', dictCode: '' })
        fieldList.push({ type: 'string', value: 'idNo', text: '身份证号码', dictCode: '' })
        fieldList.push({ type: 'string', value: 'companyName', text: '所属公司名称', dictCode: '' })
        fieldList.push({ type: 'string', value: 'teamDept', text: '所属团队部门名称', dictCode: '' })
        fieldList.push({ type: 'string', value: 'teamPost', text: '所属团队岗位名称', dictCode: '' })
        fieldList.push({ type: 'string', value: 'entryTime', text: '入职时间', dictCode: '' })
        fieldList.push({ type: 'string', value: 'positiveTime', text: '转正时间', dictCode: '' })
        fieldList.push({ type: 'string', value: 'lastWorkTime', text: '最后工作日', dictCode: '' })
        fieldList.push({ type: 'string', value: 'salaryGrade', text: '薪级', dictCode: '' })
        fieldList.push({ type: 'BigDecimal', value: 'postWage', text: '岗位工资', dictCode: '' })
        this.superFieldList = fieldList
      }
    }
  }
</script>
<style scoped>
  @import '~@assets/less/common.less';
</style>
